package com.jinghang.spark_base._010_RDD

import org.apache.spark.{SparkConf, SparkContext}

object _032RDD_join {

  def main(args: Array[String]): Unit = {
    val conf = new SparkConf()
      .setAppName("Operator")
      .setMaster("local[2]")
    val sc = new SparkContext(conf)
    sc.setLogLevel("ERROR")

    val data1 = Array(1, 2, 3, 4, 5)
    val data2 = Array(1, 2, 4, 5)

    val rdd1 = sc.parallelize(data1)
    val rdd2 = sc.parallelize(data2)
    //map
    val pair_rdd1 = rdd1.map(x => (x, 1))
    val pair_rdd2 = rdd2.map(x => (x, 1))

    println("pair_rdd1.join(pair_rdd2)")
    val rdd_join = pair_rdd1.join(pair_rdd2)
    rdd_join.collect().foreach(println)

    println("pair_rdd1.leftOuterJoin(pair_rdd2)")
    val rdd_left_join = pair_rdd1.leftOuterJoin(pair_rdd2)
    rdd_left_join.collect().foreach(println)


  }


}
